package com.baizhi.serviceimpl;

import com.baizhi.dao.AdminDAO;
import com.baizhi.dao.FeedbackMapper;
import com.baizhi.entity.Admin;
import com.baizhi.entity.Feedback;
import com.baizhi.entity.FeedbackExample;
import com.baizhi.service.AdminService;
import com.baizhi.service.FeedbackService;
import org.apache.ibatis.session.RowBounds;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;

@Transactional
@Service
public class FeedbackServiceImpl implements FeedbackService {

    @Resource
    FeedbackMapper feedbackMapper;
    @Override
    public HashMap<String, Object> queryAllPage(Integer page, Integer pageSize) {
        HashMap<String, Object> map = new HashMap<>();
       //设置当前页
        map.put("page",page);

        //设置查询条件对象
        FeedbackExample example = new FeedbackExample();
        //设置查询条件对象
        int count = feedbackMapper.selectCountByExample(example);
        //设置总条数
        map.put("total",count);
        /*每页展示(2)   pagesize  条
            当前页数 1  展示  0,2 （pagesize） 1 2
            当前页数 2  展示  2,2 （pagesize） 3 4
            当前页数 3  展示  4,2 （pagesize） 5 6
            当前页数 4  展示  6,2 （pagesize）
            当前页数 5  展示  8,2 （pagesize）
            （page-1）*pagesize
        */
        RowBounds rowBounds = new RowBounds((page-1)*pageSize,pageSize);
        List<Feedback> feedbacks = feedbackMapper.selectByExampleAndRowBounds(example, rowBounds);
        //设置数据
        map.put("rows",feedbacks);
        return  map;
    }

    @Override
    public HashMap<String, Object> delete(Feedback feedback) {
        HashMap<String, Object> map = new HashMap<>();
        try {
            feedbackMapper.deleteByPrimaryKey(feedback.getId());
            map.put("message","数据删除成功");
        } catch (Exception e) {
            e.printStackTrace();
            map.put("message","数据删除失败");
        }
        return map;
    }
}
